#ifndef __NUMERECOMPLEXE_H_INCLUDED__ 
#define __NUMERECOMPLEXE_H_INCLUDED__

#include<iostream>
#include "Complex.h"

class NumereComplexe
{
  private:
    Complex elemente[100];
  public:
    NumereComplexe();//constructor implicit
    NumereComplexe(NumereComplexe&);//constructor de copiere
    NumereComplexe(NumereComplexe*);//constructor de copiere
    ~NumereComplexe();//destructor

    int NumarElemente();
    void OrdonareCrescatoare(NumereComplexe&);
    void OrdonareCrescatoare(NumereComplexe*);
    void OrdonareDescrescatoare(NumereComplexe&);
    void OrdonareDescrescatoare(NumereComplexe*);

    NumereComplexe operator+(const NumereComplexe&);
    NumereComplexe operator+(const NumereComplexe*);
    NumereComplexe operator-(const NumereComplexe&);
    NumereComplexe operator-(const NumereComplexe*);
    Complex operator*(NumereComplexe&);
    Complex operator*(NumereComplexe*);
    NumereComplexe crossProduct(const NumereComplexe&);
    NumereComplexe crossProduct(const NumereComplexe*);
    friend std::istream& operator>>(std::istream&, NumereComplexe&);
    friend std::ostream& operator<<(std::ostream&, NumereComplexe);
};


#endif
